home *** CD-ROM | disk | FTP | other *** search
/ MacGames Sampler / PHT MacGames Bundle.iso / MacSource Folder / Samples from the CD / Assembly / Mac68k / MICROF.S < prev    next >
Encoding:
Text File  |  1985-08-23  |  3.0 KB  |  120 lines  |  [TEXT/CYAN]

  1.          IDENT   MICROF
  2.          OPTION  CREF,appl
  3.          INCLUDES MACTEXT
  4.          TITLE   MICROF - MICRO FINDER.
  5. **       MICRO - FINDER.
  6. *
  7. *        FROM   JUNE 1985 MacTutor.
  8.  
  9. *        INITIALIZE MANAGERS AND MAC.
  10.  
  11. START    PEA     -4(A5)         ;QD GLOBAL PTR
  12.          _InitGraf
  13.          _InitFonts
  14.          _InitWindows
  15.          _InitMenus
  16.          CLR.L   -(SP)
  17.          _InitDialogs
  18.          _TEInit
  19.          MOVE    #2,-(SP)       ;STANDARD FILE PACKAGE
  20.          _InitPack
  21.          MOVE.L  #$0000FFFF,D0  ;FLUSH ALL EVENTS
  22.          _FlushEvents
  23.          _InitCursor
  24.  
  25. *         LOCATE PORT AND SET UP SCREEN.
  26.  
  27.          LEA     GPTR(PC),A3    ;GET HANDLE TO WINDOW PORT
  28.          MOVE.L  A3,-(SP)
  29.          _GetWMgrPort
  30.          MOVE.L  (A3),-(SP)
  31.          _SetPort               ;OPEN THE PORT
  32.          PEA     GRAYPAT(PC)
  33.          _BackPat
  34.          PEA     SCREEN(PC)
  35.          _EraseRect
  36.  
  37. *        DISPLAY TITLE.
  38.  
  39.          PEA     WHITEPAT(PC)   ;SET TITLE PATTERNS
  40.          _PenPat
  41.          PEA     TITLERECT(PC)
  42.          _PaintRect
  43.          PEA     BLACKPAT(PC)
  44.          _PenPat
  45.          PEA     TITLERECT(PC)
  46.          _FrameRect
  47.          MOVE    #135,-(SP)     ;POSITION PEN
  48.          MOVE    #60,-(SP)
  49.          _MoveTo
  50.          MOVE    #0,-(SP)       ;CHOOSE FONT
  51.          _TextFont
  52.          MOVE    #18,-(SP)      ;FONT SIZE
  53.          _TextSize
  54.          PEA     TITLE(PC)
  55.          _DrawString
  56.          PEA     WHITEPAT(PC)
  57.          _BackPat
  58.  
  59. *        MAIN LOOP.
  60.  
  61. MAIN     MOVE    #86,-(SP)      ;SET PROMPT COORDINATES
  62.          MOVE    #80,-(SP)
  63.          CLR.L   -(SP)
  64.          CLR.L   -(SP)
  65.          MOVE    #1,-(SP)       ;LIST 1 FILE TYPE
  66.          PEA     TYPELIST(PC)   ;TYPE = APPL
  67.          CLR.L   -(SP)
  68.          PEA     SFREPLY(PC)
  69.          MOVE    #2,-(SP)
  70.          _Pack3                 ;RUN SFGETFILE
  71.          LEA     SFREPLY(PC),A0
  72.          CMP.B   #0,(A0)
  73.          BEQ.S   FNDR           ;IF NO FILE SELECTED
  74.          PEA     BLACKPAT(PC)
  75.          _PenPat
  76.          PEA     SCREEN(PC)
  77.          _PaintRect             ;CLEAR SCREEN
  78.  
  79. *        LAUNCH ROUTINE.
  80.  
  81.          LEA     SFNAME(PC),A1  ;FILE NAME SELECTED
  82.          LEA     LAUNCHPTR(PC),A0
  83.          MOVE.L  A1,(A0)
  84.          CLR     L(A0)          ;MEMORY ALLOCATION MODE = 0
  85.          _Launch                ;LAUNCH PROGRAM
  86.  
  87. FNDR     _ExitToShell           ;LAUNCH FINDER
  88.  
  89. *        DATA AREA.
  90.  
  91. SCREEN   DC      0,0,342,512    ;FULL SCREEN
  92.  
  93. TITLERECT DC     41,127,69,381
  94.  
  95. TYPELIST DC      #'APPL'
  96.  
  97. GRAYPAT  DC.L    $55555555,$55555555
  98. BLACKPAT DC.L    $FFFFFFFF,$FFFFFFFF
  99. WHITEPAT DC.L    $00000000,$00000000
  100.  
  101. TITLE    STR     ('MICRO - FINDER')
  102.  
  103. *        BLANK STORAGE AREA.
  104.  
  105.          .BSS
  106.  
  107. SFREPLY  DS.B    1              ;GOOD
  108.          DS.B    1              ;COPY
  109.          DS.L    1              ;TYPE
  110.          DS      1              ;vRefNum
  111.          DS      1              ;VERSION
  112. SFNAME   DS.B    1+63           ;SELECTED FILE NAME
  113.  
  114. LAUNCHPTR DS.L   1              ;PTR TO FILE NAME
  115.           DS     1              ;0 = STANDARD MEMORY ALLOCATION
  116.  
  117. GPTR     DS.L   1              ;GRAF PORT PTR
  118.  
  119.          END
  120.